Application control using a gesture based trigger

ABSTRACT

Systems and methods for control of application actions using a modification trigger to visually modify an electronic document are disclosed. A computing device, such as a mobile computing device having a touchscreen display, can display an electronic document having a first portion and a second portion. Initially upon displaying the electronic document, the computing device displays the first portion and the second portion may lie out of view, not displayed. A user can swipe along a scroll direction, causing the second portion to be displayed. The second portion can include or otherwise be associated with a modification trigger. Upon receiving a gesture on the second portion, the modification trigger performs actions, including, for example, subscribing to a series of electronic documents and minimizing the visual display of the electronic document.

PRIORITY CLAIM

This application is a continuation of and claims the benefit of priorityof U.S. Pat. No. 10,474,353, filed on May 31, 2016, which is herebyincorporated by reference herein in its entirety.

TECHNICAL FIELD

The subject matter disclosed herein relates generally to control of anapplication through a display device and, more particularly, but not byway of limitation, to control of an application through a display deviceusing gesture based triggers.

BACKGROUND

Users can interact with applications executing on mobile devices throughtouchscreen displays of the mobile devices. The touchscreen displayshave limited screen size, and only a limited number of user interfaceobjects, such as input and output elements (e.g., on-screen keyboard),menus, and other user interface objects (e.g., checkboxes, text entryfields), can be displayed on a given touchscreen display at any onetime. These limitations make controlling applications through mobiledevices difficult and can overall hamper user experience. Further, insome cases, some users may be limited to manipulating their respectivemobile devices with only one available hand, which further worsens userexperience.

BRIEF DESCRIPTION OF THE DRAWINGS

Some example embodiments are illustrated by way of example and notlimitation in the figures of the accompanying drawings.

FIG. 1 is a block diagram illustrating a networked system, according tosome example embodiments.

FIG. 2 is a block diagram showing example components provided within thepost series client application system of FIG. 1, according to someexample embodiments.

FIG. 3 is a flow diagram illustrating an example method for using agesture based trigger in a subscription process, according to someexample embodiments.

FIG. 4 is a flow diagram illustrating an example method for executingthe gesture based trigger, according to some example embodiments.

FIG. 5 is a flow diagram illustrating an example method for executingthe gesture based trigger, according to some example embodiments.

FIG. 6 is an interaction diagram illustrating network interactionsbetween a client device and an application server, according to exampleembodiments.

FIGS. 7A-K show user interfaces illustrating use of a gesture basedtrigger, according to example embodiments.

FIG. 8 is a flow diagram illustrating an example method for using agesture based trigger in a sample request process, according to someexample embodiments.

FIG. 9 is an interaction diagram illustrating network interactionsbetween a client device and an application server, according to exampleembodiments.

FIGS. 10A-I show user interfaces illustrating use of a gesture basedtrigger, according to example embodiments.

FIG. 11 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide an understanding ofvarious example embodiments of the present subject matter. It will beevident, however, to those skilled in the art, that the exampleembodiments of the present subject matter may be practiced without thesespecific details.

In various example embodiments, a computing device, such as a mobilecomputing device having a touchscreen display, can display an electronicdocument having a first portion and a second portion. The axis ordirection of navigation of the electronic document corresponds to theorientation of the first and second portions; e.g., an electronicdocument having a first portion above a second portion defines avertical axis of navigation (e.g., scroll direction), as according to anexample embodiment. When the electronic document is initially displayedon the client device, the first portion may be displayed and the secondportion may lie out of view, not displayed. As mentioned, a user maymake a swipe gesture, e.g., swipe up, on the touchscreen along the axisof navigation, in a scroll direction, causing the second portion to bedisplayed (e.g., the first portion scrolls up and out of view, and thesecond portion scrolls into view from the bottom of the touchscreendisplay).

The second portion includes a gesture trigger, such as a modificationtrigger, that is configured to, upon execution of the trigger, minimizeor otherwise remove the electronic document from the touchscreendisplay. The gesture trigger may further be configured to, uponexecution of the trigger, perform further actions, such as subscribingto a series of electronic documents or submitting a transaction. In anexample embodiment, the gesture trigger is triggered when a user swipesalong a direction of navigation, on the second portion, through thetouchscreen display.

With reference to FIG. 1, an example embodiment of a high-levelclient-server-based network architecture 100 is shown. A network-basedpublishing system 104, in the example form of a post publication system,provides server-side functionality via a network 102 (e.g., the Internetor wide area network (WAN)) to one or more client devices 106. In someimplementations, a user (e.g., user 199) interacts with thenetwork-based publishing system 104 using the client device 106.

FIG. 1 illustrates, for example, client device 106 including a postseries client application 110 through which user 199 may receive andview ephemeral posts and electronic documents, each of which may be partof a post series. A post series is a series of web posts generated by athird party server 108 or other users through their own respectiveclient devices executing post series client applications. In someexample embodiments, a post series can be all posts from an individualuser that user 199 can receive and display on client device 106. Theposts may be ephemeral and automatically be removed from display ordeleted from client device 106 after a specified time. Similarly,electronic documents may also be part of a series in that they all comefrom the same source (e.g., same user, same publisher) or are otherwiseidentified as part of a specific series through a common identifier(e.g., a company name, post series name).

In various implementations, the client device 106 includes a computingdevice that includes at least a display and communication capabilitiesthat provide access to the network-based publishing system 104 via thenetwork 102. The client device 106 includes, but is not limited to, aremote device, work station, computer, general purpose computer,Internet appliance, hand-held device, wireless device, portable device,wearable computer, cellular or mobile phone, Personal Digital Assistant(PDA), smart phone, tablet, ultrabook, netbook, laptop, desktop,multi-processor system, microprocessor-based or programmable consumerelectronic, game consoles, set-top box, network Personal Computer (PC),mini-computer, and so forth. In an example embodiment, the client device106 includes one or more of a touch screen, accelerometer, gyroscope,biometric sensor, camera, microphone, Global Positioning System (GPS)device, and the like.

The client device 106 communicates with the network 102 via a wired orwireless connection. For example, one or more portions of the network102 includes an ad hoc network, an intranet, an extranet, a VirtualPrivate Network (VPN), a Local Area Network (LAN), a wireless LAN(WLAN), a Wide Area Network (WAN), a wireless WAN (WWAN), a MetropolitanArea Network (MAN), a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a cellular telephone network, awireless network, a Wireless Fidelity (WI-FI®) network, a WorldwideInteroperability for Microwave Access (WiMax) network, another type ofnetwork, or any suitable combination thereof.

As discussed above, in some example embodiments, the client device 106includes one or more of the applications such as post series clientapplication 110. In some implementations, the post series clientapplication 110 includes various components operable to presentinformation to the user 199 and communicate with network-basedpublishing system 104 as discussed in further detail below.

The post series client application 110 may be implemented as astand-alone application executed on top of the operating system ofclient device 106, as according to some example embodiments. In someexample embodiments, the post series client application 110 runs withina web client (e.g., browser) on the client device 106 to access thevarious systems of the networked system 104 via the web interfacesupported by a web server 116. Similarly, according to some exampleembodiments, the post series client application 110 accesses the variousservices and functions provided by the network-based publishing system104 via a programmatic interface provided by an Application ProgramInterface (API) server 114.

Users (e.g., the user 199) can include a person, a machine, or othermeans of interacting with the client device 106. In some exampleembodiments, the user is not part of the network architecture 100, butinteracts with the network architecture 100 via the client device 106 oranother means. For instance, the user provides input (e.g., touch screeninput or alphanumeric input) to the client device 106 and the input iscommunicated to the network-based publishing system 104 via the network102. In this instance, the network-based publishing system 104, inresponse to receiving the input from the user, communicates informationto the client device 106 via the network 102 to be presented to theuser. In this way, the user can interact with the network-basedpublishing system 104 using the client device 106.

The API server 114 and the web server 116 are coupled to, and provideprogrammatic and web interfaces respectively to, one or more applicationserver 118. The application server 118 can host an electronic postpublication system 124 that includes one or more modules orapplications, each of which can be embodied as hardware, software,firmware, or any combination thereof. The application server 118 is, inturn, shown to be coupled to one or more database servers 120 thatfacilitate access to one or more information storage repositories ordatabase(s) 122. In an example embodiment, the database(s) 122 arestorage devices that store information to be posted (e.g., posts,electronic documents, series thereof) via the electronic postpublication system 124. The database(s) 122 store subscriptioninformation, payment information, inventory information, orderinformation, and user information (e.g., user profile data,username/password, preferences of user 199) to perform the operationsdiscussed below.

Additionally, a post series generator app 128, executing on third partyserver 108, is shown as having programmatic access to the network-basedpublishing system 104 via the programmatic interface provided by the APIserver 114. The post series generator app 128 is, according to someexample embodiments, an application configured to publish posts (e.g.,ephemeral posts) and electronic documents to the electronic postpublication system 124 for publication to one or more post series clientapplications 110 of subscribing users.

Further, while the client-server-based network architecture 100 shown inFIG. 1 employs a client-server architecture, the present subject matteris, of course, not limited to such an architecture, and can equally wellfind application in a distributed, or peer-to-peer, architecture system,for example. The various systems of the applications server(s) 118(e.g., the electronic post publication system 124) can also beimplemented as standalone software programs, which do not necessarilyhave networking capabilities.

FIG. 2 illustrates a block diagram showing components in the post seriesclient application 110, according to some example embodiments. Thecomponents themselves are communicatively coupled (e.g., via appropriateinterfaces) to each other and to various data sources, so as to allowinformation to be passed between the applications or so as to allow theapplications to share and access common data. Furthermore, thecomponents access one or more database(s) 122 via the database server120. To this end, the post series client application 110 includes aninterface engine 200, a display engine 205, post series engine 210,trigger engine 215, and an action engine 220, as according to an exampleembodiment.

The interface engine 200 is configured (e.g., by software) to interfacethe post series client application 110 with the client device 106. Insome example embodiments, the client device 106 implements a nativeoperating system having a Library of interface objects and look-and-feelspecifications. For example, the client device 106 may be a mobile phoneor smartphone, and the native operating system may be a mobile nativeoperating system that can download applications or “apps” from an appstore for local execution.

Users, such as user 199, may interact with the downloaded apps through atouchscreen display of the client device 106. In some exampleembodiments, the operating system of the client device 106 includesnative functionality to receive user input and interpret userinteractions through the touchscreen display. The native operatingsystem may forward the interpreted user interactions to interface engine200, for example, when the user interaction involves selection ormanipulation of objects in a user interface of the post series clientapplication 110. The interface engine 200 may receive the interpreteduser interactions and complete operations in concert with the otherengines of the post series client application 110. Still, in someexample embodiments, the interface engine 200 is configured to nativelyreceive and interpret user interactions as gestures in place of theclient device 106; such as, for example, in implementations where theclient device 106 does not include such native functionality.

The display engine 205 is responsible for displaying the user interfaceelements in conjunction with the other engines in the post series clientapplication 110. For example, in response to a user selecting (e.g.,clicking, tapping, or tapping-and-holding) an icon for an electronicdocument, the display engine 205 may receive a gesture notification fromthe interface engine 200 that the electronic document icon has beenselected and, in response, the display engine 205 may generate a displayof the selected elements on the display of the client device 106.

The post series engine 210 is responsible for managing the posts, whichmay include electronic documents or other types of posts, such asephemeral posts. In some example embodiments, ephemeral posts have asmaller file size than electronic documents, though both electronicdocuments and ephemeral posts may be only temporarily accessible throughthe client device 106, as discussed in further detail below. Theelectronic documents may have one or more portions (e.g., top portion,middle portion, bottom portion) that a user can scroll or navigate toalong a direction of navigation; for example, where the electronicdocument has a total display size (e.g., pixel size) that is larger thanthe available screen size (e.g., pixel screen size) of the displayscreen of the client device 106. In those implementations, the displayengine 205 may receive one or more navigation gestures from theinterface engine 200. The navigation gestures may include one or more ofthe following: swipes, drag-and-hold in a direction, double tap on edgeof document to navigate in the direction of the edge, and othernavigation interactions. Responsive to the received navigation gestures,the display engine 205 may scroll or navigate to a portion of theelectronic document that is not currently viewable or displayed on thedisplay screen of the client device 106.

The trigger engine 215 is responsible for managing the trigger actionsof the post series client application 110. In some example embodiments,the trigger engine 215 activates a trigger (e.g., a modificationtrigger), in response to portions of an electronic document beingdisplayed. The trigger engine 215 is further configured to execute thetrigger. The trigger specifies a function for handling by the actionengine 220. The function specifies one or more actions to be performed.

The action engine 220 is configured to perform one or more actions inresponse to the trigger engine 215 executing the trigger. In particular,according to at least one example embodiment, in executing the trigger,the trigger engine 215 specifies a function configured to performdifferent actions, such as terminating, closing, or minimizing thedisplayed electronic documented, creating a subscription request, andtransmitting the subscription request. In some example embodiments, thetrigger is configured to direct or redirect the client device 106 to awebsite upon the trigger being executed. In some example embodiments,the trigger is configured to, upon the trigger being executed, retrievecontent (e.g., electronic documents) that is similar to the currentelectronic document. The similar content may be retrieved from thee-post publication system 124. Further, in some example embodiments, thesimilar content is retrieved from third party servers, such as thirdparty server 108. The similar content may then be stored by the postseries client application 110 for later display, or may automatically bedisplayed upon being retrieved.

In some example embodiments, the trigger is configured to, upon thetrigger being executed, start a communication with a chat-bot or humanagent of the provider of the electronic document or the series. In someexample embodiments, the trigger is configured via the executable codeto, upon the trigger being executed, submit a search to a search engineand display results. In those example embodiments, the executable codemay specify a search string and a search engine server to perform thesearch upon the trigger being executed. The search string may include orotherwise specify keywords that are in the electronic document. Forexample, the electronic document may discuss ideas for things to do in agiven city, e.g., New York City, and the trigger may be configured tosearch for flights to New York City, upon the user 199 swiping up. Oncethe gesture is received, the action engine 220 causes the client device110 to transmit the search string to a search engine or flight website,and the results are returned for display on client device 110, asaccording to some example embodiments. Accordingly, the trigger can beconfigured to perform other client device or network communicationoperations in a similar manner (e.g., configuring the executable code toperform the desired operation).

FIG. 3 illustrates a flowchart for a method 300 of performing asubscription request using a modification trigger, as according to someexample embodiments. At operation 305, the display engine 205 displays afirst portion of an electronic document on the client device 106. Atoperation 310, a first gesture is received by the client device 106. Insome example embodiments, the first gesture is received directly on thefirst portion of the electronic document, through the touchscreendisplay of the client device 110.

At operation 315, in response to receiving the first gesture on thefirst portion of the electronic document, the display engine 205displays a second portion of the electronic document. In some exampleembodiments, the display engine 205 displays the second portion of theelectronic document using a scrolling transition (e.g., sliding thefirst portion off display while sliding the second portion onto thedisplay). Other transitions, such as panning, sliding, fading in/out,may be similarly implemented to display the second portion of theelectronic document.

At operation 320, the interface engine 200 receives an indication that asecond gesture was made on a second portion of the electronic document,in some example embodiments, the information is generated from thenative operating system of the client device 106.

As illustrated, operations 330, 335, and 340 may be included as part ofa trigger operation 325. In some example embodiments, the triggeroperation 325 is executed when the second portion of the electronicdocument is displayed and a swipe up gesture is received on the secondportion. The direction “up” may be relative to the orientation of theclient device 106 or the orientation of the displayed application, wherefor example, the application display has been rotated 180 degreesresponsive to the client device 106 being rotated.

Continuing at operation 330, in response to receiving the second gestureon the second portion, the display engine 205 collapses (e.g.,minimizes) the interface of the electronic document. In some exampleembodiments, the collapse of the interface of the electronic documentincludes removing from display the first portion, the second portion,and any other portions included within the body of the electronicdocument. Further, in some example embodiments, the collapsing of theinterface of the electronic document includes removing from display theone or more portions and minimizing the electronic document to an iconwithin a primary application display area of the post series clientapplication 110.

At operation 335, the action engine 220 generates a subscriptionrequest. In some example embodiments, the subscription request includesinformation such as the time at which the second gesture was received(e.g., operating system time of client device 106, time of receipt ofthe gesture information by interface engine 200), user data (e.g.,username/password), verification tokens, client ID, network ID, paymentinformation that may be included along with the subscription request. Atoperation 340, the action engine 220 transmits the subscription requestto the interface engine 200, which transmits the subscription requestthrough network 102 to API server 114 to application server 118 andfinally to the destination, the electronic post publication system 124.As described in further detail below, the electronic post publicationsystem 124 may use the data in the subscription request to updateinformation (e.g., subscription information) for user 199 in database122 via database server 120.

At operation 345, the display engine 205 may automatically displayfuture posts or electronic documents received from the electronic postpublication system 124. In some example embodiments, the posts receivedat operation 345 are posts or electronic documents published after thepoint in time in which the second gesture was received at operation 320.The display operations of operation 345 may be automatically configuredso that the client/server exchange patterns are reversed. For example,the one or more servers 118 may initiate communications with the postseries client application 110 by pushing future posts or electronicdocuments to the client device 106 for automatic download and/ordisplay.

FIG. 4 illustrates a flow chart for a method 400 for trigger execution,as according to some example embodiments. The operations of method 400may be a sub-routine between the operation 320 (in which the secondgesture is received) and operation 345 (which is an operation occurringin response to the trigger being executed) of FIG. 3.

As discussed, at operation 320, the interface engine 200 receives anindication that a gesture has been received through the display screenof the client device 106. The gesture may be in any direction, e.g.,up/down, right/left with respect to the orientation of the client device106 or displayed application.

At operation 410, the trigger engine 215 determines whether the secondportion of the electronic document is currently being displayed on theclient device 106. If the second portion of the electronic document isnot displayed (e.g., the first portion of the electronic document isbeing displayed), then at operation 415, the trigger is not executed.Alternately, going back to operation 410, if it is determined that thesecond portion of the electronic is being displayed, then at operation325, the trigger is executed by the trigger engine 215, thereby causingoperations 330, 335, and 340 to be performed, as discussed above.

FIG. 5 illustrates a flowchart for a method 500 of executing thetrigger, as according to some example embodiments. The method 500 ofFIG. 5 may be combined with FIG. 3, as illustrated. In particular, forexample, the operation 315 involve displaying the second portion of theelectronic document. When the second portion of the electronic documentis displayed, at operation 505 the trigger is activated by the triggerengine 215. The activation of the trigger at operation 505 occursbetween operations 315 and 320 of FIG. 3, according to some exampleembodiments.

In some example embodiments, the operation of activating the trigger atoperation 505 is performed by loading executable code into a memoryportion of the client device 106 in response to displaying the secondportion. For example, the second portion can include embedded triggercode that activates the trigger when the second portion is displayed orrendered on the post series client application 110. In some exampleembodiments, loading the second portion of the electronic document loadsa control object into the memory of the client device 106. The controlobject is managed by the client device 110 operating system, and isincluded natively as a feature that applications built for the clientdevice 110 operation system can invoke, as according to some exampleembodiments. In those example embodiments, the control object activatesand awaits receipt of gestures in a specified direction to execute thetrigger. For example, the specified direction may be along the directionof navigation, e.g., an upward swipe.

At operation 320, the interface engine 200 receives an indication fromthe client device 106 that the user of the client device 106 has made agesture through the display screen. At operation 515, the trigger engine215 determines whether the received gesture is in the specifieddirection of navigation. If the gesture is not made in the direction ofnavigation, then at operation 520, the trigger is not executed. If it isdetermined at operation 515 that the gesture received at operation 510is in the direction specified, then the trigger engine 215 executes thetrigger at operation 525, thereby causing operations 330, 335, and 340to be performed, as discussed above. After the trigger is executed, atoperation 345, the display engine 205 may automatically download anddisplay future posts or electronic documents received from theelectronic post publication system 124.

FIG. 6 illustrates an interaction diagram between the client device 106and the application server 118. Although FIG. 6 illustrates a clientdevice 106 and application server 118, one of ordinary skill in the artappreciates the client device 106 may perform the operations in FIG. 6through the post series client application 110, and the applicationserver 118 may perform the operations in FIG. 6 through the electronicpost publication system 124. The operations of FIG. 6 illustrate amethod 600 for generating a subscription request in response to amodification trigger being executed.

At operation 605, the action engine 220 identifies data for inclusion inthe subscription request. The information may include a timestamp andclient data. The timestamp is identified by looking up current clientdevice 106 time or determining the time when the gesture was performed,or determining the time when an indication of the gesture beingperformed is received by interface engine 200. The client data includesinformation needed to submit a subscription request, including one ormore of the following: user identification, verification information(e.g., username, password, or authentication token), identification ofthe series of posts to subscribe to, and type of subscription (e.g.,levels of service, frequency of publication, etc.), payment informationfor paid subscription, or other data needed to subscribe.

At operation 610, the action engine 220 uses the information gathered atoperation 605 and any network information (e.g., server address,requisite API data) needed to generate the subscription request. Thegenerated subscription request is then transferred from the clientdevice 106 to the application server 118.

At operation 615, the application server 118 receives the subscriptionrequest and uses the data in the subscription request to update adatabase, such as local database 122, with the timestamp data and theclient data of operation 605. At operation 620, application server 118receives other series posts, such as additional electronic documents orother ephemeral posts for publication. In some example embodiments, theadditional electronic documents or ephemeral posts may be received fromthird party server 108 through a post series generator app 128. Theelectronic post publication system 124 receives the one or moreadditional series posts from third party server 108 and stores them indatabase 122 via database server 120. A post may be identified via thepost series engine 210 as belonging to a particular series via a seriesidentifier tag or data value. Series from different third party serversmay be stored by their respective identifiers in database 122 by theelectronic post publication system 124.

At operation 625, the application server 118 transmits posts havingnewer timestamps for automatic download by client device 106 in responseto a request checking for new posts from client device 106 or as part ofa push operation.

At operation 630, the client device 106 may automatically download theseries posts. For example, the post series client application 110 may beconfigured to automatically download the newer posts without userinteraction. In particular, when the post series client application 110is initiated (e.g., starts-up) on client device 106, the post seriesengine 210 may send a request to electronic post publication system 124to check for any new posts published since the post series clientapplication 110 was last closed. Further, in some example embodiments,the automatic download of operation 630 may be implemented as a pushoperation, where the client device 106 is configured to automaticallydownload the pushed publications while the client device 106 is running.Further, in some example embodiments, when the post series clientapplication 110 is closed or not running, the native operating system ofthe client device 106 may still receive notification of the pushoperation from application server 118 and create a push notification onthe display of the client device 106 and/or download the new posts as abackground process so that when the post series client application 110is initiated, the newer posts may be retrieved from local memory of theclient device 106.

At operation 635, the client device 106 may automatically display thenewer series posts upon receipt. In some example embodiments, the clientdevice 106 may download the newer posts and not display the content ofthe posts (e.g., first portion, second portion), but instead show anicon for the post (e.g., thumbnail) that indicates new posts have beendownloaded. Example indications may include a visible modification ofthe default icon (e.g., read posts may be grayed out, but newer unreadposts may be lighter or more vibrantly colored), animations, or visibleoverlay tags.

FIG. 7A illustrates client device 106 implemented, as an example, as asmartphone having a touchscreen display 700 that allows a user 199 tointeract with the post series client application 110.

As illustrated, the post series client application 110 includes adisplay of a plurality of electronic documents represented by icons777A-C in a electronic document display area 707, as according to anexample embodiment. The plurality of electronic documents may bepopulated within display area 707 according to usage data of user 199.The usage data may be collected and stored by client device 106 as user199 uses post series client application 110. The usage data, forexample, may include one or more of the following: most commonlyaccessed electronic documents, most commonly accessed ephemeral posts,the type of content in the accessed electronic documents or ephemeralposts, geographical location data collected from the GPS sensor ofclient device 106 (e.g., location data indicating that user 199 is nearLondon, New York City, etc.), or past subscriptions to series posts. Insome example embodiments, the user 199 may navigate an electronicdocument catalog from which the user 199 may browse through differentelectronic documents for selection and subscription.

It is appreciated that the actual content of the documents (e.g., firstportion, second portion) may not be displayed in the electronic documentdisplay area but rather be linked to by a corresponding icon for eachdocument or documents in the series. For example, “Cheshire Social” maycorrespond to a series of electronic documents that are represented byan icon 777A; “The Treacle Well” may correspond to a series ofelectronic documents that are represented by an icon 777B; and “Hatter &Hare” may correspond to a series of electronic documents represented byan icon 777C. Though only three series and corresponding icons 777A-Care depicted, it is appreciated that any number of series and icons maybe displayed within display area 707, for example, in an alternatingmanner (e.g., carousel scroll). When the user 199 selects one of theicons 777A-C, the post series engine 210 retrieves the newest electronicdocument of the series from local memory of the client device 106 andloads it on the touchscreen display 700. In some example embodiments, ifthe newest electronic document has not been downloaded to local memoryof the client device 106, the post series client application 110 maytransmit a server request to electronic post publication system 124requesting the latest electronic documents.

Further, according to some example embodiments, the post series clientapplication 110 also displays a plurality of ephemeral posts in theephemeral display area 715. When user 199 selects one of the posts, thepost series engine 210 may retrieve the latest post from local memory orelectronic post publication system 124 and display it. The ephemeralposts may display an image, a video, and/or a text for a preconfiguredduration of time before automatically being deleted or removed from thedisplay interface of the touchscreen display 700. The duration of timemay be preconfigured by the creator of the post (e.g., another user),the post series client application 110 or the electronic postpublication system 124. As with the electronic documents, each ephemeralpost may belong to a series from other users. For example, all postsfrom the user “Dromio” may be considered as part of the same series.

Continuing, assuming user 199 selects icon 777A, the interface engine200 will receive an indication from client device 106 that the user 199has made a selection of the icon 777A, which will trigger the postseries engine 210 to retrieve the electronic document corresponding toicon 777A and cause the display engine 205 to display the electronicdocument as illustrated in FIG. 7B.

FIG. 7B illustrates an electronic document corresponding to icon 777A.In particular, a top portion 710A0 of the electronic document 710A isinitially displayed when the electronic document 710A is selected byuser 199. Electronic document 710A is a multipart document, someportions on-screen and some portions off-screen, as according to someexample embodiments. In FIG. 7B, the top portion of 710A is visible andon-screen, and other parts (e.g., 710A1, and 710A2) of electronicdocument 710A, are off-screen but are displayed in the following figureswhen navigated to, as according to some example embodiments.

In some example embodiments, each portion (e.g., 710A0, 710A1, and710A2) of the electronic document 710A fills the entire the area of aprimary application interface area 111 (e.g., an area of the touchscreendisplay 700 where the running application is displayed, excluding thestatus bar along the top). The top portion 710A0 of the interfaceincludes a title, descriptive text, and an action element 720, accordingto an example embodiment. The action element 720, in some exampleembodiments, is a non-active element of the multi-portion electronicdocument. The action element 720 may not be linked or associated with acontrol object but rather includes instructions that the user 199 mayuse to navigate through the multi-portion electronic document.

FIG. 7C illustrates a user 199 making a swipe-up gesture through thetouchscreen display 700, as indicated by gesture indicator 725. Thegesture indicator 725 is illustrated to show that the direction of thegesture is not necessarily included or displayed on the touchscreendisplay 700. In some example embodiments, the interface engine 200 orthe client device 106 has configured logic to determine whether adisplay gesture is along the axis of navigation, e.g., whether thegesture is up, approximately up, or not up, based on an angle threshold.For example, a gesture beyond an angle threshold of 45 degrees may notbe counted as being an up swipe or an up gesture.

FIG. 7D shows the post series client application 110 navigating from thetop portion 710A0 of the electronic document to the first portion 710A1of the electronic document. The swipe received as indicated by gestureindicator 725 in FIG. 7C was along the axis of navigation 713 relativeto the top portion 710A0 and the first portion 710A1; that is, in theup-down or vertical axis. The axis of navigation is displayed as anupward arrow corresponding to an example embodiment where the readerswipes up, with respect to the primary application display area 111, andthe top portion 710A0 scrolls up out of view as the first portion 710A1scrolls up into view, from the bottom of the primary application displayarea 111.

FIG. 7E illustrates the post series client application 110 displayingthe first portion 710A1 of the electronic document corresponding to icon777A. Similar to the top portion 710A0, the first portion 710A1 can alsofill the entirety of the primary application display area 111 for clientdevice 106. FIG. 7F shows user 199 performing a second gesture 730 onthe first portion 710A1 of the electronic document.

FIG. 7G illustrates the transition along the axis of navigation 713relative to the first portion 710A1 and a second portion 710A2 of theelectronic document. FIG. 7H illustrates the post series clientapplication 110 displaying the second portion 710A2 of the electronicdocument. As illustrated, the second portion 710A2 may also fill theentirety of the primary application display area 111 for the post seriesclient application 110. The second portion 710A2 includes an actionelement 735. The action element 735 may be an indicator of interactionsoptions that the user 199 can perform when the second portion 710A2 isdisplayed, though it is appreciated that the interaction options can beindicated from touching on any portion of the second portion 710A2. Forexample, as explained with reference to FIG. 5, when the second portion.710A2 is displayed, a trigger is activated at operation 505 after whichthe trigger engine 215 may receive notification of any gesture anywherein second portion 710A2, not necessarily directly on the action element735.

FIG. 7I illustrates the user 199 making an upward swipe display gesture740 on the second portion 710A2. As illustrated, the gesture 740 isalong the axis of navigation 713. FIG. 7J displays the actionsresponsive to display gesture 740. In particular, responsive to gesture740, the interface of the electronic document including the top portion710A0, first portion 710A1, and second portion 710A2 is collapsed,fades-out, or otherwise returns to a display of the home screen of postseries client application 110. FIG. 7K shows a return to the home screenof post series client application 110.

The subscription operation is then sent out before, after, and/or duringthe transition from the second portion 710A2 to the home screen, asaccording to some example embodiments. As illustrated in FIG. 7K, anotification icon 745 may be overlaid on icon 777A to indicate to user199 that the subscription request has been submitted and the user 199has subscribed to the series of documents identified as “CheshireSocial” or another identifier value that identifies “Cheshire Socialseries of posts. In some example embodiments, where network connectivityis low or zero, the notification icon 745 may still be displayed to showthe user 199 the subscription request has been triggered. When clientdevice 106 is able to connect to network 102, the subscription requestmay be transmitted to application server 118.

Further, responsive to the subscription request being received, thesubscribed-to series may be placed in first (e.g., left most) among theplurality of electronic document icons 777A-C in display area 707.Further, responsive to the subscription request, the post series clientapplication 110 may receive pushes from ephemeral posts of the series.For example, as illustrated, the “Cheshire Ephemeral Post” 750 isassociated with the series posts and may be automatically displayed inthe ephemeral display area 715.

The modification trigger may also be used to collapse an electronicdocument and perform other actions via the action engine 220, such asordering a sample of an item discussed in an electronic document, asaccording to an example embodiment. FIG. 8 shows a flowchart for amethod 800 of performing a sample request for an item using amodification trigger, as according to some example embodiments. Atoperation 805, the display engine 205 displays a first portion (e.g.,the first portion 710A1) of the electronic document. At operation 810,the interface engine 200 receives an indication (e.g., via operatingsystem of client device 106) that a first gesture has been made on thefirst portion. At operation 815, the display engine 205 displays thesecond portion (e.g., the second portion 710A2) of the electronicdocument. At operation 820, the interface engine 200 receives anindication that a second gesture on the second portion has beenreceived. Operation 825 is a multi-part trigger operation includingoperations 830, 835, and 840. Operation 825 may be performed using themethods of FIG. 4 or FIG. 5.

Continuing, at operation 830, the display engine 205 collapses theinterface of the electronic document, for example by removing from thetouchscreen display 700 a viewing of the first, second or any otherportion of the displayed electronic document. At operation 835, theaction engine 220 receives from the trigger engine 215 an indicationthat the trigger has been executed. For example, the trigger engine 215references a specific function managed by the action engine 220.Accordingly, at operation 835, the action engine 220 executes thecontent of the function and generates a sample request for an itemdiscussed in the electronic document. At operation 840, the actionengine 220 transmits, via the interface engine 200, the sample requestthrough the network 102 for fulfillment processing by the electronicpost publication system 124 and/or the third party server 108.

FIG. 9 shows an interaction diagram of a method 900 for interactionsbetween the client device 106 and the application server 118. Althoughthe client device 106 and application server 118 are illustrated in FIG.9, it is appreciated that the client device 106 may perform itscorresponding actions of FIG. 9 through post series client application110, and further that the application server 118 may perform itscorresponding actions of FIG. 9 through the electronic post publicationsystem 124. Additionally, the operations of FIG. 9 may be initiated bythe action engine 220. For example, at operation 905, the action engine220 identifies the item requested or the sample requested from theelectronic document. In some example embodiments, the action engine 220may request item metadata from the displayed electronic document thatidentifies the item to be ordered. Further, the action engine 220 mayalso retrieve other information for completing the order, such as userinformation, payment information, shipping information.

At operation 910, the action engine 220 generates an order or samplerequest. At operation 915, the application server 118 receives thesample request for the item. At operation 920, the application server118 may transmit a sample request to an order completion system thatclears the payment using user payment information and submits an itemorder. In some example embodiments, the clearing of the paymenttransaction is performed by the third party server 108 using paymentinformation provided by the application server 118. In some exampleembodiments, the application server 118 is configured to clear paymentsinternally within the network-based publishing system 104 using paymentinformation received from the client device 106. For example, the clientdevice 106 may be part of an application marketplace or app store. Theapplication server 118 may have pre-approved authority from the user 199to complete transactions using the payment information of user 199. Oncethe order has been submitted by the application server 118, theapplication server 118 generates a display notification at operation925. At operation 935, the client device 106 receives the displaynotification and displays the notification on the display device, e.g.,touchscreen display 700, of the client device 106.

FIGS. 10A-4 illustrate interfaces of post series client application 110for performing a sample item request using a modification trigger,according to some example embodiments. FIG. 10A illustrates a topportion 710B0 of the electronic document corresponding to icon 777Bbeing displayed on the touchscreen display 700 of client device 106.Like the electronic document corresponding to icon 777A, this electronicdocument includes multiple portions, including the top portion 710B0,which is above a first portion 710B1 (see FIG. 10C), which is above asecond portion 710B2 (see FIG. 10F). The top portion 710B0 may have anaction element 1000 that indicates to the user 199 an available actionthat can be performed by selecting the top portion 710B and performingone or more gestures (e.g., swiping in an indicated direction) whileviewing the top portion 710B0.

FIG. 10B illustrates the user 199 performing a gesture 1005 in an upwarddirection. FIG. 10C illustrates a transition between displaying the topportion 710B0 and the first portion 710B1 along the axis of navigation713. FIG. 10D illustrates the first portion 710B1 occupying the entirescreen area of the electronic document as displayed within post seriesclient application 110. Notably, although the middle portion or firstportion 710B1 does not display an action element such as action element720 or action element 1000, one of ordinary skill in the art appreciatesthat such an action element could be placed within any portion of theelectronic document to indicate to a user how to navigate through thedocument.

FIG. 10E illustrates the user 199 executing a display gesture 1010. FIG.10F illustrates the post series client application 110 transitioningbetween the first portion 710B1 and second portion 710B2 along the axisof navigation 713. FIG. 10G illustrates the second portion 710B2 of theelectronic document corresponding to icon 777B. In contrast with thesecond portion 710A2 displayed in FIG. 7H, the action element 1015 inthe second portion 710B2 indicates that user 199 will execute amodification trigger to automatically submit an order for the itemmentioned in the electronic document (e.g., Dormouse Treacle, SampleSize 1 Oz).

FIG. 10H illustrates the user 199 executing a display gesture 1011 tocollapse the interface of the electronic document. As illustrated, insome example embodiments, collapsing the interface of the electronicdocument is completed by giving the appearance that the second portion710B2 is scrolling midway upward through the primary application displayarea 111 of the post client series application 110, then collapsing orminimizing the interface of the electronic document to its correspondingicon 777B on the home screen of the post series client application 110.

FIG. 10I illustrates an example result of the collapse operation, asaccording to an example embodiment. As illustrated in FIG. 10I, the homescreen of the post series client application 110 is displayed, andresponsive to the modification trigger submitting the request for thesample, a overlay notification is displayed as notice 1020. The notice1020 corresponds to operation 935 of FIG. 9. Further notifications mayinclude confirmation emits being sent from the application server 118 toan email account of user 199.

Though three example portions of an electronic document are disclosedhere for purposes of explanation, it is appreciated that an electronicdocument may include any number of portions (e.g., two, three, ten,etc.). In those embodiments, the terms “top,” “first,” and “secondportions” may be referenced per the number and location within theelectronic document. For example, a seven-portioned electronic documentmay have its portions referenced as first portion (top), a plurality ofmiddle portions, the second to last portion may be the sixth portion,and the last portion may be the seventh portion. In those embodiments,the operations involving the discussed second portion (e.g.,determination operation 410 in FIG. 4) may then reference the lastportion or boundary portion for a given electronic document. Further, insome example embodiments, it is appreciated that the trigger may beactivated in other ways. For example, the trigger may be activated bydetection of a boundary or border of the electronic document, and thetrigger may be executed upon detection that the boundary has beenreached and a swipe in the direction of the boundary has been performed.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules can constitute eithersoftware modules (e.g., code embodied on a machine-readable medium) orhardware modules. A “hardware module” is a tangible unit capable ofperforming certain operations and can be configured or arranged in acertain physical manner. In various example embodiments, one or morecomputer systems (e.g., a standalone computer system, a client computersystem, or a server computer system) or one or more hardware modules ofa computer system (e.g., a processor or a group of processors) can beconfigured by software (e.g., an application or application portion) asa hardware module that operates to perform certain operations asdescribed herein.

In some example embodiments, a hardware module can be implementedmechanically, electronically, or any suitable combination thereof. Forexample, a hardware module can include dedicated circuitry or logic thatis permanently configured to perform certain operations. For example, ahardware module can be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware module may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware modulecan include software executed by a general-purpose processor or otherprogrammable processor. Once configured by such software, hardwaremodules become specific machines (or specific components of a machine)uniquely tailored to perform the configured functions and are no longergeneral-purpose processors. It will be appreciated that the decision toimplement a hardware module mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) can be driven by cost and time considerations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein.“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule includes a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,including different hardware modules) at different times. Softwareaccordingly configures a particular processor or processors, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules can be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications can be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodimentswhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module can perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module can then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules can also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein can beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein can be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method can be performed by one or more processors orprocessor-implemented modules. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an Application Programinterface (API)).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented modules can be located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented modules are distributed across a number ofgeographic locations.

The modules, methods, applications and so forth described in conjunctionwith FIGS. 1-10I are implemented in some example embodiments in thecontext of a machine and an associated software architecture. Thesections below describe representative software architecture and machine(e.g., hardware) architecture that are suitable for use with thedisclosed embodiments.

Software architectures are used in conjunction with hardwarearchitectures to create devices and machines tailored to particularpurposes. For example, a particular hardware architecture coupled with aparticular software architecture will create a mobile device, such as amobile phone, tablet device, and the like. A slightly different hardwareand software architecture may yield a smart device for use in the“internet of things” while yet another combination produces a servercomputer for use within a cloud computing architecture. Not allcombinations of such software and hardware architectures are presentedhere as those of skill in the art can readily understand how toimplement the present subject matter in different contexts from thedisclosure contained herein.

FIG. 11 is a block diagram illustrating components of a machine 1100,according to some example embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 11 shows a diagrammatic representation of the machine1100 in the example form of a computer system, within which instructions1116 (e.g., software, a program, an application, an apples, an app, orother executable code) for causing the machine 1100 to perform any oneor more of the methodologies discussed herein can be executed. Forexample, the instructions 1116 can cause the machine 1100 to execute theflow diagrams of FIGS. 3, 4, 5, 6, 8, and 9.

Additionally, or alternatively, the instruction 1116 can implement theinterface engine 200, display engine 205, post series engine 210,trigger engine 215, and action engine 220 of FIG. 2, and so forth. Theinstructions 1116 transform the general, non-programmed machine into aparticular machine programmed to carry out the described and illustratedfunctions in the manner described. In alternative embodiments, themachine 1100 operates as a standalone device or can be coupled (e.g.,networked) to other machines. In a networked deployment, the machine1100 may operate in the capacity of a server machine or a client machinein a server-client network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine 1100 caninclude, but not be limited to, a server computer, a client computer, apersonal computer (PC), a tablet computer, a laptop computer, a netbook,a set-top box (STB), a personal digital assistant (PDA), anentertainment media system, a cellular telephone, a smart phone, amobile device, a wearable device (e.g., a smart watch), a smart homedevice (e.g., a smart appliance), other smart devices, a web appliance,a network router, a network switch, a network bridge, or any machinecapable of executing the instructions 1116, sequentially or otherwise,that specify actions to be taken by the machine 1100. Further, whileonly a single machine 1100 is illustrated, the term “machine” shall alsobe taken to include a collection of machines 1100 that individually orjointly execute the instructions 1116 to perform any one or more of themethodologies discussed herein.

The machine 1100 can include processors 1110, memory/storage 1130, andI/O components 1150, which can be configured to communicate with eachother such as via a bus 1102. In an example embodiment, the processors1110 (e.g., a Central Processing Unit (CPU), a Reduced Instruction SetComputing (RISC) processor, a Complex Instruction Set Computing (CISC)processor, a Graphics Processing Unit (GPU), a Digital Signal Processor(DSP), an Application Specific Integrated Circuit (ASIC), aRadio-Frequency Integrated Circuit (RFIC), another processor, or anysuitable combination thereof) can include, for example, processor 1112and processor 1114 that may execute instructions 1116. The term“processor” is intended to include multi-core processor that may includetwo or more independent processors (sometimes referred to as “cores”)that can execute instructions contemporaneously. Although FIG. 11 showsmultiple processors 1110, the machine 1100 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory/storage 1130 can include a memory 1132, such as a mainmemory, or other memory storage, and a storage unit 1136, bothaccessible to the processors 1110 such as via the bus 1102. The storageunit 1136 and memory 1132 store the instructions 1116 embodying any oneor more of the methodologies or functions described herein. Theinstructions 1116 can also reside, completely or partially, within thememory 1132, within the storage unit 1136, within at least one of theprocessors 1110 (e.g., within the processor's cache memory), or anysuitable combination thereof, during execution thereof by the machine1100. Accordingly, the memory 1132, the storage unit 1136, and thememory of the processors 1110 are examples of machine-readable media.

As used herein, the term “machine-readable medium” means a device ableto store instructions and data temporarily or permanently and mayinclude, but is not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, optical media, magneticmedia, cache memory, other types of storage (e.g., Erasable ProgrammableRead-Only Memory (EEPROM)) or any suitable combination thereof. The term“machine-readable medium” should be taken to include a single medium ormultiple media (e.g., a centralized or distributed database, orassociated caches and servers) able to store instructions 1116. The term“machine-readable medium” shall also be taken to include any medium, orcombination of multiple media, that is capable of storing instructions(e.g., instructions 1116) for execution by a machine (e.g., machine1100), such that the instructions, when executed by one or moreprocessors of the machine 1100 (e.g., processors 1110), cause themachine 1100 to perform any one or more of the methodologies describedherein. Accordingly, a “machine-readable medium” refers to a singlestorage apparatus or device, as well as “cloud-based” storage systems orstorage networks that include multiple storage apparatus or devices. Theterm “machine-readable medium” excludes signals per se.

The I/O components 1150 can include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so on. The specific I/Ocomponents 1150 that are included in a particular machine will depend onthe type of machine. For example, portable machines such as mobilephones will likely include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components1150 can include many other components that are not shown in FIG. 11.The I/O components 1150 are grouped according to functionality merelyfor simplifying the following discussion, and the grouping is in no waylimiting. In various example embodiments, the I/O components 1150 caninclude output components 1152 and input components 1154. The outputcomponents 1152 can include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), haptic components (e.g., avibratory motor, resistance mechanisms), other signal generators, and soforth. The input components 1154 can include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or other pointinginstruments), tactile input components (e.g., a physical button, a touchscreen that provides location and force of touches or touch gestures, orother tactile input components), audio input components (e.g., amicrophone), and the like.

In further example embodiments, the I/O components 1150 can includebiometric components 1156, motion components 1158, environmentalcomponents 1160, or position components 1162 among a wide array of othercomponents. For example, the biometric components 1156 can includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 1158 can includeacceleration sensor components (e.g., an accelerometer), gravitationsensor components, rotation sensor components (e.g., a gyroscope), andso forth. The environmental components 1160 can include, for example,illumination sensor components (e.g., a photometer), temperature sensorcomponents (e.g., one or more thermometers that detect ambienttemperature), humidity sensor components, pressure sensor components(e.g., a barometer), acoustic sensor components (e.g., one or moremicrophones that detect background noise), proximity sensor components(e.g., infrared sensors that detect nearby objects), gas sensorcomponents (e.g., machine olfaction detection sensors, gas detectionsensors to detect concentrations of hazardous gases for safety or tomeasure pollutants in the atmosphere), or other components that mayprovide indications, measurements, or signals corresponding to asurrounding physical environment. The position components 1162 caninclude location sensor components (e.g., a Global Positioning System(GPS) receiver component), altitude sensor components (e.g., altimetersor barometers that detect air pressure from which altitude may bederived), orientation sensor components (e.g., magnetometers), and thelike.

Communication can be implemented using a wide variety of technologies.The I/O components 1150 may include communication components 1164operable to couple the machine 1100 to a network 1180 or devices 1170via a coupling 1182 and a coupling 1172, respectively. For example, thecommunication components 1164 include a network interface component orother suitable device to interface with the network 1180. In furtherexamples, communication components 1164 include wired communicationcomponents, wireless communication components, cellular communicationcomponents, Near Field Communication (NFC) components, BLUETOOTH®components (e.g., BLUETOOTH® Low Energy), WI-FI® components, and othercommunication components to provide communication via other modalities.The devices 1170 may be another machine or any of a wide variety ofperipheral devices (e.g., a peripheral device coupled via a UniversalSerial Bus (USB)).

Moreover, the communication components 1164 can detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 1164 can include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional bar codes such as a Universal Product Code (UPC) barcode, multi-dimensional bar codes such as a Quick Response (QR) code,Aztec Code, Data Matrix, DATAGLYPH®, MaxiCode, PDF417, Ultra Code,Uniform Commercial Code Reduced Space Symbology (UCC RSS)-2D bar codes,and other optical codes), acoustic detection components (e.g.,microphones to identify tagged audio signals), or any suitablecombination thereof. In addition, a variety of information can bederived via the communication components 106, such as location viaInternet Protocol (IP) geo-location, location via WI-FI®, signaltriangulation, location via detecting a BLUETOOTH® or NFC beacon signalthat may indicate a particular location, and so forth.

In various example embodiments, one or more portions of the network 1180can be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), the Internet, a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a plain old telephone service (POTS)network, a cellular telephone network, a wireless network, a WI-FI®network, another type of network, or a combination of two or more suchnetworks. For example, the network 1180 or a portion of the network 1180may include a wireless or cellular network, and the coupling 1182 may bea Code Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or other type of cellular orwireless coupling. In this example, the coupling 1182 can implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (CPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard setting organizations, other long rangeprotocols, or other data transfer technology.

The instructions 1116 can be transmitted or received over the network1180 using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components1164) and utilizing any one of a number of well-known transfer protocols(e.g., Hypertext Transfer Protocol (HTTP)). Similarly, the instructions1116 can be transmitted or received using a transmission medium via thecoupling 1172 (e.g., a peer-to-peer coupling) to devices 1170. The term“transmission medium” shall be taken to include any intangible mediumthat is capable of storing, encoding, or carrying the instructions 1116for execution by the machine 1100, and includes digital or analogcommunications signals or other intangible medium to facilitatecommunication of such software.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Although an overview of the present subject matter has been describedwith reference to specific example embodiments, various modificationsand changes may be made to these embodiments without departing from thebroader scope of embodiments of the present disclosure. The embodimentsillustrated herein are described in sufficient detail to enable thoseskilled in the art to practice the teachings disclosed. Otherembodiments may be used and derived therefrom, such that structural andlogical substitutions and changes may be made without departing from thescope of this disclosure. The Detailed Description, therefore, is not tobe taken in a limiting sense, and the scope of various embodiments isdefined only by the appended claims, along with the full range ofequivalents to which such claims are entitled.

As used herein, the term “or” is construed in the Boolean sense, e.g.,“A or B” may include A, may include B, or may include A and B. Moreover,plural instances may be provided for resources, operations, orstructures described herein as a single instance. Additionally,boundaries between various resources, operations, modules, engines, anddata stores are somewhat arbitrary, and particular operations areillustrated in a context of specific illustrative configurations. Otherallocations of functionality are envisioned and may fall within a scopeof various embodiments of the present disclosure. In general, structuresand functionality presented as separate resources in the exampleconfigurations may be implemented as a combined structure or resource.Similarly, structures and functionality presented as a single resourcemay be implemented as separate resources. These and other variations,modifications, additions, and improvements fall within a scope ofembodiments of the present disclosure as represented by the appendedclaims. The specification and drawings are, accordingly, to be regardedin an illustrative rather than a restrictive sense.

What is claimed is:
 1. A method comprising: receiving, on a user device,from an electronic document server, a plurality of sequential fullscreen panels including a first full screen panel and a second fullscreen panel, the first full screen panel being navigable to the secondfull screen panel along a direction of navigation, the second fullscreen panel comprising a network site trigger configured to initiate anetwork site request to an external network site that is different fromthe electronic document server from which the plurality of sequentialfull screen panels is received; storing, on the user device, theplurality of sequential full screen panels; displaying the first fullscreen panel on a touchscreen display of the user device; receiving, onthe first full screen panel, an initial touchscreen input to navigatefrom the first full screen panel to the second full screen panel alongthe direction of navigation; displaying, on the touchscreen display ofthe user device, the second full screen panel of the plurality ofsequential full screen panels in response to receiving the initialtouchscreen input on the first full screen panel; activating the networksite trigger in response to the second full screen panel being displayedon the user device, the second full screen panel displaying a userinterface element specifying a touchscreen gesture to perform on thesecond full screen panel to interact with the external network site;receiving, through the touchscreen display, the specified touchscreengesture on the second full screen panel; and executing the network sitetrigger in response to receiving the specified touchscreen gesture onthe second full screen panel that comprises the network site trigger,the executing of the network site trigger causing the user device totransmit the network site request to the external network site.
 2. Themethod of claim 1, wherein the external network site is a third-partyserver, and wherein the method further comprises: receiving, from thethird-party server, a network response comprising display content; andstoring, in memory of the user device, the display content from thethird-party server.
 3. The method of claim 2, further comprising:displaying the display content on the touchscreen display of the userdevice.
 4. The method of claim 3, further comprising: minimizing thesecond full screen panel to display the display content on thetouchscreen display of the user device.
 5. The method of claim 1,wherein the network site request transmitted to the external networksite includes user data of a user of the user device.
 6. The method ofclaim 5, wherein the user data includes a user identifier of the user.7. The method of claim 1, wherein the touchscreen gesture is at leastone of: a tap gesture or a swipe gesture.
 8. The method of claim 1,wherein the network site trigger is triggered by code embedded in thesecond full screen panel.
 9. The method of claim 8, wherein the secondfull screen panel is initially displayed without executing the codeembedded in the second full screen panel.
 10. The method of claim 1,wherein the plurality of sequential full screen panels are displayed ina primary application display area of a full screen size, and whereinthe first full screen panel and the second full screen panel both have ascreen size that coincides with the full screen size.
 11. The method ofclaim 10, wherein the receiving the initial touchscreen input comprisesreceiving, through the touchscreen display, the initial touchscreeninput anywhere within the first full screen panel, and wherein thereceiving the specified touchscreen gesture comprises receiving, throughthe touchscreen display, the specified touchscreen gesture anywherewithin the second full screen panel.
 12. The method of claim 1, whereinthe user interface element is displayed at a bottom side of the secondfull screen panel.
 13. The method of claim 12, wherein the userinterface element comprises one or more text items.
 14. A system, thesystem comprising: one or more processors of a machine; a touchscreendisplay; and a memory storing instructions that, when executed by theone or more processors, cause the machine to perform operationscomprising: receiving, from an electronic document server, a pluralityof sequential full screen panels including a first full screen panel anda second full screen panel, the first full screen panel being navigableto the second full screen panel along a direction of navigation, thesecond full screen panel comprising a network site trigger configured toinitiate a network site request to an external network site that isdifferent from the electronic document server from which the pluralityof sequential full screen panels is received; storing the plurality ofsequential full screen panels; displaying the first full screen panel onthe touchscreen display; receiving, on the first full screen panel, aninitial touchscreen input to navigate from the first full screen panelto the second full screen panel along the direction of navigation;displaying, on the touchscreen display, the second full screen panel ofthe plurality of sequential full screen panels in response to receivingthe initial touchscreen input on the first full screen panel; activatingthe network site trigger in response to the second full screen panelbeing displayed, the second full screen panel displaying a userinterface element specifying a touchscreen gesture to perform on thesecond full screen panel to interact with the external network site;receiving, through the touchscreen display, the specified touchscreengesture on the second full screen panel; and executing the network sitetrigger in response to receiving the specified touchscreen gesture onthe second full screen panel that comprises the network site trigger,the executing of the network site trigger causing the network siterequest to be transmitted to the external network site.
 15. The systemof claim 14, wherein the external network site is a third-party server,and wherein the operations further comprise: receiving, from thethird-party server, a network response comprising display content; andstoring the display content from the third-party server.
 16. The systemof claim 15, the operations further comprising: displaying the displaycontent on the touchscreen display.
 17. The system of claim 16, theoperations further comprising: minimizing the second full screen panelto display the display content on the touchscreen display.
 18. Thesystem of claim 14, wherein the network site request transmitted to theexternal network site includes user data of a user.
 19. A non-transitorymachine-readable storage medium embodying instructions that, whenexecuted by a machine, cause the machine to perform operationscomprising: receiving, from an electronic document server, a pluralityof sequential full screen panel user interfaces includes a first fullscreen panel and a second full screen panel, the first full screen panelbeing navigable to the second full screen panel along a direction ofnavigation of the plurality of sequential full screen panel userinterfaces, the second full screen panel comprising a network sitetrigger configured to initiate a network site request to an externalnetwork site that is different from the electronic document server fromwhich the plurality of sequential full screen panel user interfaces isreceived; storing the plurality of sequential full screen panel userinterfaces; displaying the first full screen panel on a touchscreendisplay; receiving, on the first full screen panel, an initialtouchscreen input to navigate from the first full screen panel to thesecond full screen panel along the direction of navigation; displaying,on the touchscreen display, the second full screen panel of theplurality of sequential full screen panel user interfaces in response toreceiving the initial touchscreen input on the first full screen panel;activating the network site trigger in response to the second fullscreen panel being displayed, the second full screen panel displaying auser interface element specifying a touchscreen gesture to perform onthe second full screen panel to interact with the external network site;receiving, on the second full screen panel, the specified touchscreengesture; and executing the network site trigger in response to receivingthe specified touchscreen gesture on the second full screen panel thatcomprises the network site trigger, the executing of the network sitetrigger causing the network site request to be transmitted to theexternal network site.
 20. The non-transitory computer-readable storagemedium of claim 19, wherein the external network site is a third-partyserver, and wherein the operations further comprise: receiving, from thethird-party server, a network response comprising display content; andstoring the display content from the third-party server.